<?php
if($access_control != "3tgbuh9gbufwd"){header("location: ?pag=");}

if($_POST["btn_ok"] == "OK"){
    if($_POST["concurso"] != '' && valida::numero($_POST["concurso"])){
        $concurso = $_POST["concurso"];
    }else{
        echo "<script>alert('Selecione um concurso!');</script>";
    }
}

if($_POST["btn_enviar"] == "Enviar"){
    $erro = 0;
    if($_POST["concurso"] != '' && valida::numero($_POST["concurso"])){
        $concurso = $_POST["concurso"];

        if($_FILES["arquivo"]["name"] != '' && $_FILES["arquivo"]["error"] == 0){

            $nome = $_FILES["arquivo"]["name"];
            if(move_uploaded_file($_FILES["arquivo"]["tmp_name"], "../editais/".$nome)){

                // LÊ O ARQUIVO
                if(!$arquivo = fopen("../editais/".$nome, "r")){
                    echo "<script>alert('Falha ao abrir o arquivo!');</script>";
                }
                $texto = '';
                while($linha = fgets($arquivo)){
                    $texto .= $linha;
                }
                fclose($arquivo);
                shell_exec("rm -f ../editais/$nome");

                //IDENTIFICA TAGS  E SALVA INFORMAÇÕES
                $tag = '';
                $ini = 0;
                $fim = 0;

                for($i = 0; $i < strlen($texto); $i++){

                    switch($tag){
                        case '':
                            if(substr($texto, $i, 11) == "<Resultado>"){
                                $i += 11;
                                $tag = "<Resultado>";
                                $resultado = new resultado();
                                $resultado->set_concurso($concurso);
                            }
                        break;
                        case "<Resultado>":
                            if(substr($texto, $i, 14) == "<CodCandidato>"){
                                $i += 14;
                                $tag = "<CodCandidato>";
                                $ini = $i;
                            }
                            if(substr($texto, $i, 11) == "<NotaFinal>"){
                                $i += 11;
                                $tag = "<NotaFinal>";
                                $ini = $i;
                            }
                            if(substr($texto, $i, 10) == "<Situacao>"){
                                $i += 10;
                                $tag = "<Situacao>";
                                $ini = $i;
                            }
                            if(substr($texto, $i, 20) == "<ClassificacaoOpcao>"){
                                $i += 20;
                                $tag = "<ClassificacaoOpcao>";
                                $ini = $i;
                            }
                            if(substr($texto, $i, 16) == "<DataNascimento>"){
                                $i += 16;
                                $tag = "<DataNascimento>";
                                $ini = $i;
                            }

                            if(substr($texto, $i, 12) == "</Resultado>"){
                                $i += 12;
                                $tag = '';
                                if(!$resultado->salvar()){
                                    echo "Falha ao salvar o resultado<br>";
                                }
                                unset($resultado);
                            }
                        break;

                        case "<CodCandidato>":
                            if(substr($texto, $i, 15) == "</CodCandidato>"){
                                $fim = $i;
                                $i += 15;
                                $x = $fim - $ini;
                                $valor = substr($texto, $ini, $x);
                                if(!$resultado->set_cod_candidato($valor)){
                                    echo "Falha ao atribuir CodCandidato $valor<br>";
                                }
                                $tag = "<Resultado>";
                            }
                        break;
                        case "<NotaFinal>":
                            if(substr($texto, $i, 12) == "</NotaFinal>"){
                                $fim = $i;
                                $i += 12;
                                $x = $fim - $ini;
                                $valor = substr($texto, $ini, $x);
                                if(!$resultado->set_nota_final($valor)){
                                    echo "Falha ao atribuir NotaFinal $valor<br>";
                                }
                                $tag = "<Resultado>";
                            }
                        break;
                        case "<Situacao>":
                            if(substr($texto, $i, 11) == "</Situacao>"){
                                $fim = $i;
                                $i += 11;
                                $x = $fim - $ini;
                                $valor = substr($texto, $ini, $x);
                                if(!$resultado->set_situacao($valor)){
                                    echo "Falha ao atribuir NotaFinal $valor<br>";
                                }
                                $tag = "<Resultado>";
                            }
                        break;
                        case "<ClassificacaoOpcao>":
                            if(substr($texto, $i, 21) == "</ClassificacaoOpcao>"){
                                $fim = $i;
                                $i += 21;
                                $x = $fim - $ini;
                                $valor = substr($texto, $ini, $x);
                                if(!$resultado->set_classificacao($valor)){
                                    echo "Falha ao atribuir ClassificacaoOpcao $valor<br>";
                                }
                                $tag = "<Resultado>";
                            }
                        break;
                        case "<DataNascimento>":
                            if(substr($texto, $i, 17) == "</DataNascimento>"){
                                $fim = $i;
                                $i += 17;
                                $x = $fim - $ini;
                                $valor = substr($texto, $ini, $x);
                                if(!$resultado->set_dt_nascimento(data_inter($valor))){
                                    echo "Falha ao atribuir DataNascimento $valor<br>";
                                }
                                $tag = "<Resultado>";
                            }
                        break;
                    }
                }
                echo "<script>alert('Leitura do arquivo concluída!');</script>";
            }else{
                $erro = 1;
            }
        }else{
            $erro = 1;
        }

        if($erro == 1){
            echo "<script>alert('Falha ao enviar o arquivo!');</script>";
        }
    }else{
        echo "<script>alert('Selecione o concurso!');</script>";
    }
}

if($_POST["btn_enviar_ensalamento"] == "Enviar"){
    
    function posicao($p, $t){
        while(substr($t, $p, 1) != ';' && $p < strlen($t)){
            $p++;
        }
        return $p;
    }
    
    if($_FILES["arquivo"]["name"] != '' && $_FILES["arquivo"]["error"] == 0){

        $nome = $_FILES["arquivo"]["name"];
        if(move_uploaded_file($_FILES["arquivo"]["tmp_name"], "controle/retorno_boleto/".$nome)){

            // LÊ O ARQUIVO
            if(!$arquivo = fopen("controle/retorno_boleto/".$nome, "r")){
                echo "<script>alert('Falha ao abrir o arquivo!');</script>";
            }
            fgets($arquivo);
            $ens = new ensalamento();
            while($linha = fgets($arquivo)){
                $erro = 0;
                $pi = 0;
                $vet = array();
                $linha = substr($linha, 0, strlen($linha) - 1).';';
                
                for($i = 0; $i < strlen($linha); $i++){
                    if($linha[$i] == ';'){
                        $pf = $i - $pi;
                        $vet[] = substr($linha, $pi, $pf);
                        $pi = $i + 1;
                    }
                }
                
                if(!$ens->set_id($vet[0])){ $erro = 1; }
                if(!$ens->set_local($vet[3])){ $erro = 1; }
                if(!$ens->set_sala($vet[4])){ $erro = 1; }
                if(!$ens->set_data_concurso(data_inter($vet[5]))){ $erro = 1; }
                if(!$ens->set_hora_concurso($vet[6])){ $erro = 1; }
                
                if($erro == 0){
                    if($ens->salvar()){
                        if($_POST["email"] == 1){
                            $sql = "SELECT id_inscrito, id_concurso FROM inscrito_concurso WHERE id = '".$ens->get_id()."'";
                            $db = new db(config::$driver);
                            $conexao = $db->conecta();
                            $result = $db->query($sql, $conexao);
                            $ic = $db->fetch_array($result);

                            $inscrito = new inscrito();
                            $inscrito->carregar($ic["id_inscrito"]);

                            $concurso = new concurso();
                            $concurso->carregar($ic["id_concurso"]);

                            $email = $inscrito->get_email();
                            if($inscrito->get_email2() != ''){ $email .= ", ".$inscrito->get_email2(); }
                            $nome = $inscrito->get_nome();

                            $msg_reply  = "Olá $nome,\n\n";
                            $msg_reply .= "A prova para o concurso ".$concurso->get_titulo()." será realizada em ".$ens->get_local()." - ".$ens->get_sala()." no dia ".$ens->get_data_concurso()." às ".$ens->get_hora_concurso().".\n\n";
                            $msg_reply .= "Mais informações acesse: http://www.klcconcursos.com.br";

                            echo "Email $email";
                            echo "Nome $nome";

                            $email_remetente = "contato@klcconcursos.com.br";
                            $email = "ayresboselli@gmail.com, evertoners@gmail.com";
                            mailer($email_remetente, "Ensalamento KLC", $msg_reply, "KLC Concursos", $mail);
                        }
                    }else{
                        echo "<script>alert('Falha ao salvar os dados do candidato ID_CANDIDATO: ".$ens->get_id()."!');</script>";
                        break;
                    }
                }else{
                    echo "<script>alert('Falha na validação dos dados do candidato ID_CANDIDATO: ".$ens->get_id()."!');</script>";
                    break;
                }
            }
            
            unset($ens);
            fclose($arquivo);
            shell_exec("rm -f controle/retorno_boleto/$nome");
            if($erro == 0){
                echo "<script>alert('Ensalamento realizado com sucesso!');</script>";
            }
        }else{
            echo "<script>alert('Falha ao enviar o arquivo!');</script>";
        }
    }else{
        echo "<script>alert('Erro no arquivo!');</script>";
    }
}

if($_POST["btn_salvar"] == "Salvar"){
    $erro = 0;
    if($_POST["concurso"] != '' && valida::numero($_POST["concurso"])){
        $concurso = $_POST["concurso"];
        $i = 0;
        $db = new db(config::$driver);
        $con = $db->conecta();
        while($_POST["id"][$i]){
            if(valida::numero($_POST["classificacao"][$i]) && valida::float($_POST["nota"][$i])){
                $sql = "UPDATE resultado SET nota_final = '".$_POST["nota"][$i]."', classificacao = '".$_POST["classificacao"][$i]."' WHERE id = '".$_POST["id"][$i]."'";
                $res = $db->query($sql, $con);
            }
            $i++;
        }
        $db->close($con);
    }
}

function select_concursos($c){
    $sql = "SELECT id, titulo FROM concurso WHERE data_final_inscricoes < current_date()";
    
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    while($concurso = $db->fetch_array($res)){
        echo "
        <option value='".$concurso["id"]."'";
        if($c == $concurso["id"]){ echo " selected"; }
        echo ">".$concurso["titulo"]."</option>";
    }
}

function mostraResultados($c){
    $sql = "SELECT r.*, i.nome FROM resultado r, inscrito i WHERE i.id = r.cod_candidato AND concurso = '$c'";
    
    $db = new db(config::$driver);
    $con = $db->conecta();
    $res = $db->query($sql, $con);
    $db->close($con);
    while($r = $db->fetch_array($res)){
        echo "
            <tr>
                <td>".$r["cod_candidato"]."</td>
                <td>".$r["nome"]."</td>
                <td>".data_ptbr($r["dt_nascimento"])."</td>
                <td><input type='text' name='nota[]' value='".$r["nota_final"]."'></td>
                <td><input type='number' name='classificacao[]' value='".$r["classificacao"]."'></td>
                <td><input type='hidden' name='id[]' value='".$r["id"]."'></td>
            </tr>
        ";
    }
}